JavaTM IDL

Java IDL lets you easily create distributed Web-enabled Java applications that can transparently invoke operations on remote network services using the industry standard OMG IDL (Object Management Group Interface Definition Language) and IIOP (Internet Inter-ORB Protocol) defined by the Object Management Group.

Java IDL Network Computing

Java IDL provides connectivity and interoperability to the OMG CORBA standard. The OMG is a consortium of more than 700 organizations that have worked together to create standards to address the challenge of developing network applications. At the core of OMG's work is the CORBA (Common Object Request Broker Architecture) standard that defines a communication infrastructure allowing a heterogeneous, distributed collection of objects to collaborate transparently. Two key components of CORBA make this possible: IDL and IIOP.

IDL

At the heart of the CORBA standard is the notion that there be clean, tightly specified interfaces for objects (services, components, etc...) available anywhere in a network. These interfaces can be thought of as a contract between client and server, a contract specified in IDL.

IDL describes interfaces only, not implementations; in other words, it is not a programming language. It is a programming-language-independent way of describing interfaces to objects, and is similar in syntax to Java and C++.

IDL is mapped into each programming language to provide natural access to object interfaces from that language. With Java IDL, these IDL definitions can be compiled with the idltojava stub generator tool to generate Java interface definitions and Java client and server stubs. The mapping from IDL to Java is defined in the Java IDL Language Mapping Specification.

This allows a Java client to transparently invoke operations on CORBA objects that reside on remote servers. Similarly, it allows a Java server to define objects that can be transparently invoked from remote CORBA clients.

IIOP

CORBA implementations can interoperate transparently if they communicate with the same network protocol. As of the CORBA 2.0 specification, CORBA implementations can conform to the IIOP protocol, allowing full interoperability among them. Java IDL uses IIOP version 1.0.

It is also important to note that Java IDL is based on a portable Java ORB core which is structured to make it easy to plug in new ORB protocols. The idltojava stub generator produces stubs that are ORB independent, and which call into ORB specific protocol modules for all data marshaling or other ORB specific operations.

Components

Java IDL consists of the following components:

Generic ORB Core
ORB runtimes that allow Java IDL applications to run either as stand-alone Java applications, or as applets within Java-enabled browsers.
idltojava
A development tool that automatically generates stub code for specific remote interfaces.
nameserv
An implementation of the CORBA Object Service (COS) name service.

Documentation

The Release Notes describe the limitations and restrictions with this current release.
The JavaIDL Guide describes in detail the design of the JavaIDL system, its classes, and their uses.
The javadoc API documentation documents all the interfaces and classes.
Using idltojava presents the synopsis, description, and options necessary when using the idltojava development tool.
Java IDL Language Mapping Specification has the definitions for the mapping of IDL to Java.
The Naming Service Overview introduces the OMG COS Naming Service, a way to associate CORBA objects with names and to retrieve object references by name.
The Examples show a simple transient server, a client application, and a client applet; all three use the naming service.

Other References

The OMG is the official source of information for all CORBA and IIOP related information.
The CORBA 2.0 Specification is available electronically.


Copyright © 1996, 1997 Sun Microsystems, Inc., 2550 Garcia Ave., Mtn. View, CA. 94043-1100 USA., All rights reserved.


Send questions or comments about this site to
Java IDL engineering team.